Aller au contenu principal

Central électrique virtuelle

astuce

Le protocole VPP est basé sur le protocole MQTT en direct. Veuillez consulter cette page avant cela. Voir Contrôle MQTT en direct.

astuce

La configuration initiale du VPP DOIT être effectuée par Eniris. Veuillez contacter Eniris avant de suivre les étapes suivantes.

Connexion au broker MQTT

Veuillez vous référer à la section suivante pour savoir comment vous connecter au broker MQTT Eniris : Connexion au broker MQTT

Fonctionnalité du VPP

Le VPP est conçu pour recevoir un point de consigne/stratégie par groupe d'appareils (par exemple, solaire, stockage), et agréger le point de consigne entre les contrôleurs connectés au VPP.

Alors que le protocole MQTT en direct enverrait une commande à un seul contrôleur, le VPP permet à l'utilisateur d'envoyer une commande à un groupe de contrôleurs.

Image 1

Ajout de contrôleurs au VPP

Image 1
Image 1
Image 1
Image 1

Lors de l'ajout du Signal MQTT Eniris, un champ VPP ID est affiché. Entrez le VPP ID reçu ici.

Entrez le VPP ID
Image 1

Algorithme d'agrégation

Les points de consigne sont agrégés en fonction de la capacité des appareils relevant des contrôleurs individuels.

Sujets MQTT

Une fois la configuration initiale terminée, un VPP ID et un Nom d'utilisateur MQTT (et mot de passe) seront fournis.

Sujet entrant

Sujet : vpp/{MQTT Username}/{VPP ID}

Ce sujet est utilisé par l'utilisateur pour envoyer une commande agrégée au VPP.

Corps :

{
"msg_id": <Identifiant de message incrémental>(int),
"vpp_id": <VPP ID>(str)
"time": "<Horodatage Unix>(int)",
"fields": {
"<Politique de composant>": "<Type de politique>",
"<Point de consigne de puissance du composant>": <Point de consigne en watts>
}
}

Les politiques de composants et les points de consigne peuvent être trouvés ici : Composants et politiques MQTT

Sujet d'accusé de réception

Sujet : vpp/{MQTT Username}/{VPP ID}/acknowledgement

Après qu'une commande a été envoyée, le VPP répondra avec un accusé de réception, indiquant si la commande a été reçue avec succès ou non.

Corps :

{
"payload": {
"fields": {
"responseCode": <Code de succès/échec>(int),
"ack": <Message d'accusé de réception>(str)
},
"target": <VPP ID>(str)
},
"message_type": <Type de message>(str)
}

Sujet de retour d'information

Sujet : vpp/{MQTT Username}/{VPP ID}/feedback

Le sujet de retour d'information contient les retours fournis par les contrôleurs individuels.

Corps :

{
"payload": {
"updated_on": <Horodatage Unix des données>(str)
"feedback_dict": {
<Dictionnaire de retour d'information>(dict)
},
"target": <Identifiant du site>(str)
},
"message_type": <Type de message>(str)
}

La structure du dictionnaire de retour d'information peut être trouvée ici : Structure de la charge utile de retour d'information MQTT

Sujet de retour d'information agrégé

Sujet : vpp/{MQTT Username}/{VPP ID}/aggregated_feedback

Le VPP agrège les retours reçus par chaque contrôleur individuel.

Corps :

{
"payload": {
"updated_on": <Horodatage Unix des données>(str)
"feedback_dict": {
<Dictionnaire de retour d'information agrégé>(dict)
},
},
"message_type": <Type de message>(str)
}

Le dictionnaire de retour d'information agrégé est structuré de manière similaire à la Structure de la charge utile de retour d'information MQTT. Cependant, les valeurs en chaîne, telles que les stratégies exécutées, ne peuvent pas être agrégées et ne sont donc pas incluses.

Sujet des commandes envoyées

Sujet : vpp/{MQTT Username}/{VPP ID}/dispatched_commands

Lorsque des commandes sont envoyées aux contrôleurs par le VPP, cela est rapporté à l'aide de ce sujet.

Corps :

{
"payload": {
"aggregated": {
<Nom du composant>(str): <Valeur de CommandPower>(float)...
},
"dispatched_commands": [
<Liste des commandes individuelles envoyées aux contrôleurs>
],
},
"message_type": <Type de message>(str)
}

La structure de la charge utile des commandes individuelles envoyées peut être trouvée ici : Structure de la charge utile de retour d'information MQTT.

Sujet d'avertissement

Sujet : vpp/{MQTT Username}/{VPP ID}/warning

Si une erreur ou un avertissement se produit dans le VPP, un message sera envoyé sur ce sujet MQTT.

Corps :

{
"payload": {
"fields": {
<Dictionnaire de champ>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type de message>(str)
}